package com.qinggeng.project.system.service;

import com.qinggeng.project.api.dto.GoodsCollectDto;
import com.qinggeng.project.api.dto.GoodsDto;
import com.qinggeng.project.system.domain.UserCollect;

import java.util.List;

/**
 * 用户收藏信息Service接口
 *
 * @author qinggeng
 * @date 2020-06-16
 */
public interface IUserCollectService
{
    /**
     * 查询用户收藏信息
     *
     * @param collectId 用户收藏信息ID
     * @return 用户收藏信息
     */
    public UserCollect selectUserCollectById(Long collectId);

    /**
     * 查询用户收藏信息列表
     *
     * @param userCollect 用户收藏信息
     * @return 用户收藏信息集合
     */
    public List<UserCollect> selectUserCollectList(UserCollect userCollect);

    /**
     * 新增用户收藏信息
     *
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    public int insertUserCollect(UserCollect userCollect);

    /**
     * 修改用户收藏信息
     *
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    public int updateUserCollect(UserCollect userCollect);

    /**
     * 批量删除用户收藏信息
     *
     * @param collectIds 需要删除的用户收藏信息ID
     * @return 结果
     */
    public int deleteUserCollectByIds(Long[] collectIds);

    /**
     * 删除用户收藏信息信息
     *
     * @param collectId 用户收藏信息ID
     * @return 结果
     */
    public int deleteUserCollectById(Long collectId);

    /**
     * 查询收藏信息
     * @param goodsId
     * @param shopId
     * @param userId
     * @return
     */
    UserCollect selectUserCollectByUserId(Long goodsId, Long shopId, Long userId);

    /**
     * 收藏列表
     * @param where
     * @return
     */
    List<GoodsCollectDto> selectUserCollectGoodsList(UserCollect where);
}
